package br.com.arquitetura.componente;

import java.util.ArrayList;
import java.util.List;

public class UnidadeLogicaAritmetica implements Componente {
	public static final String FLAG_CARRY = "Carry";
	public static final String FLAG_NEGATIVO = "Negativo";
	public static final String FLAG_ZERO = "Zero";
	
	
	private List<Integer> pontosControle;
	private List<Flag> flags;
	
	public UnidadeLogicaAritmetica(int quantidadePontosControle, List<Flag> flags) {
		this.pontosControle = new ArrayList<Integer>();
		this.flags = flags;
		
		for (int i = 0; i < quantidadePontosControle; i++) {
			pontosControle.add(0);
		}
	}
	
	//retorna o resultado da operacao indicada pelos pontos de controle
	public int executaOperacao() {
		return 0;
	}
	
	@Override
	public List<Integer> getPontosControle() {
		return pontosControle;
	}
	
	public void setPontosControle(List<Integer> pontosControle) {
		this.pontosControle = pontosControle;
	}
	
	public List<Flag> getFlags() {
		return flags;
	}
}
